// 随机数
console.log( Math.random() )
// 分支
//      1、  if else if else 分支
// let num = Math.random();
let num = 0.5;
if(num>0.5){
    console.log("分支1：",num,"值大于0.5")
}

if(num>0.5){
    console.log("分支2：",num,"值大于0.5")
}else{
    console.log("分支2：",num,"值小于等于0.5")
}

if(num>0.5){
    console.log("分支3：",num,"值大于0.5")
}else if(num<0.5){
    console.log("分支3：",num,"值小于0.5")
}else{
    console.log("分支3：",num,"值等于0.5")
}

//      2、  switch case 分支
let arg = 100;
switch (arg) {
    case 1:
        console.log("一月31天")
        break;
    case 2:
        console.log("二月平年28天，闰年29天")
        break;
    case 3: case 5: case 6: case 7: case 8: case 10: case 12:
        console.log("3,5,6,7,8,10,12 为大于31天")
        break;
    case 4: case 9: case 11:
        console.log("4,9,11 为大于31天")
        break;
    default:
        console.log("月份错误")
        break;
}

let str = "abc";
switch (str) {
    case "abc":
        console.log("分支1")
        break;
    default:
        console.log("其它分支")
        break;
}

//      3、  try catch finally 分支
try {
//    可能运行错误的代码
    asdasd
    console.log("try 代码执行完成")
} catch (e) {
    console.log(e)
    // console.error(e)
    console.log("catch 代码执行完成")
} finally {
    console.log("代码无论错误或者成功都会执行")
}
// asdasd

// 循环
//   1、for  普通循环(递增或递减循环)
for (let i = 0 ; i < 10 ; i++){
    console.log(i)
}
// JS 中 for 也可以省略控制循环的相关代码，构建死循环
//      JS在浏览器中运行时，如果出现死循环可能会造成
//          电脑死机，浏览器卡死，浏览提示内存溢出，也可出现蓝屏
//      浏览器运行的JS在开发时，是需要注意循环的问题
// for(;;){
//     console.log(1)
// }
let str2 = "abcdefg";
for (let i = 0; i < str2.length; i++) {
    console.log( str2.charAt(i) )
}

// 设定一个字符串，和一个字符，统计该字符在字符串中的出现次数
let str3 = "bcdaefadegaceda";
let char = "a";
let count = 0;
// for (let i = 0; i < str3.length; i++) {
//     if(str3.charAt(i)==char){
//         count++;
//     }
// }
for (let i = 0; i < str3.length; i++) {
    // 当字符串中的字符和需要统计的字符不同时执行if分支
    if(str3.charAt(i)!=char){
        // 通过 continue 关键字跳出当前循环，执行下一次循环
        // 该分支通过 continue 关键字就会阻断分支后的代码执行
        continue;
    }
    count++;
}
console.log( `"${str3}"字符中字符"${char}"出现了${count}次` )

// 循环字符串,当循环到和指定字符相同的字符时停止循环
for (let i = 0; i < str3.length; i++) {
    console.log(str3.charAt(i))
    // 当循环到的字符和指定字符相同,通过 break 终止循环
    if(str3.charAt(i)==char) break;
}

console.log("===============================")
//   for in - 索引增强for循环
//   for of - 值增强for循环 - 迭代器增强for循环
let str4 = "abc";
for (let index in str4) {
    console.log(index,str4.charAt(index))
}
for (let char of str4) {
    console.log(char)
}

console.log("===============================")
//   while
let size = 0;
while (size<=4){
    console.log(`循环第${size+1}`);
    size++;
}

console.log("===============================")
//   do while
let size1 = 5;
// let size1 = 0;
do {
    console.log(`循环第${size1+1}`);
    size1++;
} while (size1<=4);

console.log("========================")
// 将字符串Hello World转换成dlrow olleh
let str5 = "Hello World";
str5 = str5.toLowerCase();
let newStr5 = "";
for (let i = str5.length-1; i >= 0 ; i--) {
    newStr5 += str5.charAt(i);
}
console.log(newStr5)

console.log("========================")
// 将字符串Hello World转换为WROLD_HELLO
let str6 = "Hello World";
let arr = str6.toUpperCase().split(" ")
// console.log(arr);
let newStr6 = arr[1]+"_"+arr[0];
console.log(newStr6)

console.log("========================")
let str7 = "Hello World";
str7 = str7.toUpperCase();
let newStr71 = ""
let newStr72 = ""
let j = 1;
for (let i = 0; i < str7.length; i++) {
    if(str7.charAt(i)==" "){
        j = 2
        continue;
    }
    if(j==1){
        newStr71 += str7.charAt(i);
    }
    if(j==2){
        newStr72 += str7.charAt(i);
    }
}
let newStr7 = newStr72+"_"+newStr71;
console.log(newStr7)

console.log("========================")
// 在提示窗口输入任意一个字符串,将字符串每4个字符后添加一个短横线‐,
// 并将所有大写字母变成小写字母,小写变成大写字母
let input = prompt("请输入任意字符串");
console.log(input)
if(input!=null){
    let temp = "";
    for (let i = 0; i < input.length; i++) {
        if(i!=0&&i%4==0){
            temp += "-";
        }
        let tempChar = input.charAt(i);
        if( tempChar.charCodeAt(0)<=90 ){
            tempChar = tempChar.toLowerCase();
        }else{
            tempChar = tempChar.toUpperCase();
        }
        temp += tempChar;
    }
    console.log(temp)

}










